
/**
 * XSelector
 * 选择器视图类
 * @author              罗伟权
 * @createdate          2013-12-02
 * @version             1.0
 */

#import <UIKit/UIKit.h>

@protocol XSelectorDelegate <NSObject>
/**
 * 选择回调
 * @param       item，选中的对象
 * @param       uIndex，选中对象在列表当中的索引
 * @result
 */
- (void)selectItem:(id)item index:(NSUInteger)uIndex;

@end


@interface XSelector : UIView


/**
 * 简单选项模式（只有一行文字的选项框）
 * @param        title，弹出框对应的标题信息
 * @param        items，选项数组，每个元素为一个字符串NSString，作为item的标题显示出来
 * @param        delegate，处理选项选中后的回调对象，对象当中需实现 - (void)selectItem:(NSString*)title index:(NSUInteger)uIndex 方法
 * @result
 */
+ (void)showSelector:(NSString*)title
           withItems:(NSArray*)items
            delegate:(id/*<SelectorViewDelegate>*/)delegate;


/**
 * 简单选项模式-词典元素（只有一行文字的选项框）
 * @param        title，弹出框对应的标题信息
 * @param        items，选项数组，每个元素为一个词典数据，根据传入的Key，获取相应的字段，作为item的标题显示出来
 * @param        key，词典元素对应的Key值，根据该Key值获取词典元素当中对应的字段，作为item的标题显示出来
 * @param        delegate，处理选项选中后的回调对象，对象当中需实现 - (void)selectItem:(NSString*)title index:(NSUInteger)uIndex 方法
 * @result
 */
+ (void)showSelector:(NSString*)title
        withDicItems:(NSArray*)items
              andKey:(NSString*)key
            delegate:(id/*<SelectorViewDelegate>*/)delegate;


/**
 * 详细选项模式-词典元素（可能有图片，可能有详情）
 * @param        title，弹出框对应的标题信息
 * @param        items，选项数组，每个元素为一个字典NSDictionary 含有对象：
 *                      KEY             值类型                 说明
 *                      Title           NSString              选项名称，将作为item的标题显示（不能为空）
 *                      Image           UIImage               列表当中显示的图片（可选）
 *                      Detail          NSString              详情信息（可选）
 * @param        key，词典元素对应的Key值，根据该Key值获取词典元素当中对应的字段，作为item的标题显示出来
 * @param        delegate，处理选项选中后的回调对象，对象当中需实现 - (void)selectItem:(NSString*)title index:(NSUInteger)uIndex 方法
 * @result
 */
+ (void)showDetailSelector:(NSString*)title
                 withItems:(NSArray*)items
                  delegate:(id/*<SelectorViewDelegate>*/)delegate;

@end
